home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
Dev
/
Oberon
/
source
/
amiga
/
MathTrans.mod
< prev
next >
Wrap
Text File
|
1995-06-29
|
3KB
|
118 lines
(**************************************************************************
$RCSfile: MathTrans.mod $
Description: Interface to mathtrans.library
Created by: fjc (Frank Copeland)
$Revision: 3.8 $
$Author: fjc $
$Date: 1995/06/04 23:13:14 $
$VER: mathtrans_protos.h 1.2 (7.11.90)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994-1995, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
<* STANDARD- *>
MODULE [2] MathTrans;
IMPORT SYS := SYSTEM, Kernel, e := Exec;
(*-- Library Base variable --------------------------------------------*)
CONST
MathTransName * = "mathtrans.library";
VAR
base * : e.LibraryPtr;
(*-- Library Functions ------------------------------------------------*)
PROCEDURE Atan* [base,-30]
( parm [0] : REAL )
: REAL;
PROCEDURE Sin* [base,-36]
( parm [0] : REAL )
: REAL;
PROCEDURE Cos* [base,-42]
( parm [0] : REAL )
: REAL;
PROCEDURE Tan* [base,-48]
( parm [0] : REAL )
: REAL;
PROCEDURE Sincos* [base,-54]
( VAR cosResult [1] : REAL;
parm [0] : REAL )
: REAL;
PROCEDURE Sinh* [base,-60]
( parm [0] : REAL )
: REAL;
PROCEDURE Cosh* [base,-66]
( parm [0] : REAL )
: REAL;
PROCEDURE Tanh* [base,-72]
( parm [0] : REAL )
: REAL;
PROCEDURE Exp* [base,-78]
( parm [0] : REAL )
: REAL;
PROCEDURE Log* [base,-84]
( parm [0] : REAL )
: REAL;
PROCEDURE Pow* [base,-90]
( power [1] : REAL;
parm [0] : REAL )
: REAL;
PROCEDURE Sqrt* [base,-96]
( parm [0] : REAL )
: REAL;
PROCEDURE Tieee* [base,-102]
( parm [0] : REAL )
: e.SINGLE;
PROCEDURE Fieee* [base,-108]
( parm [0] : e.SINGLE )
: REAL;
(* --- functions in V31 or higher (distributed as Release 1.1) ---*)
PROCEDURE Asin* [base,-114]
( parm [0] : REAL )
: REAL;
PROCEDURE Acos* [base,-120]
( parm [0] : REAL )
: REAL;
PROCEDURE Log10* [base,-126]
( parm [0] : REAL )
: REAL;
(*-- Library Base variable --------------------------------------------*)
<*$LongVars-*>
(*-----------------------------------*)
PROCEDURE* [0] CloseLib (VAR rc : LONGINT);
BEGIN (* CloseLib *)
IF base # NIL THEN e.CloseLibrary (base) END;
END CloseLib;
BEGIN
base := e.OpenLibrary (MathTransName, e.libraryMinimum);
IF base = NIL THEN HALT (100) END;
Kernel.SetCleanup (CloseLib)
END MathTrans.